// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

Alias := Rectangle {
//    ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    property <int> viewport_width ;
    property <int> ps_width <=> viewport_width;
}

export Foo := Rectangle {
//         ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    property <int> base-prop: alias.viewport_width;
//                            ^error{The binding for the property 'base-prop' is part of a binding loop (alias.ps-width -> root_window.base-prop)}

    alias := Alias { ps_width: base-prop; }
//                             ^error{The binding for the property 'ps-width' is part of a binding loop (alias.ps-width -> root_window.base-prop)}

    Text {
        text: base-prop;
    }
}
